package com.tarena.lbs.business.servcie;

import com.tarena.lbs.activity.pojo.vo.ActivityVO;
import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.model.Result;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.business.pojo.param.UserLocationParam;
import com.tarena.lbs.business.pojo.param.StoreParam;
import com.tarena.lbs.business.pojo.query.AreaStoreQuery;
import com.tarena.lbs.business.pojo.query.StoreQuery;
import com.tarena.lbs.business.pojo.vo.StoreVO;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public interface StoreService {

    void saveUserLocation(UserLocationParam param);

//    List<StoreVO> storeByCityList(AreaStoreQuery query);


    void addStore(StoreParam param) throws BusinessException;

    PageResult<StoreVO> pageList(StoreQuery query);

    void updateStore(StoreParam param) throws BusinessException;

    void deleteStore(Long id);

    StoreVO storeEdit(Integer id);

    List<StoreVO> getStoreByCity(AreaStoreQuery query);

    Result<Map<String, Integer>> getStoreAndArticle();

    List<ActivityVO> getActivity(Integer id);
}